#version 130

uniform sampler2D Tex1;
varying vec2 TexCoord;
uniform vec3 AmbientalLightIntensity; // (Ld)
uniform vec3 LightPosition;


varying vec3 position;
varying vec3 normal;

void main() {
	vec4 texColor = texture2D( Tex1, TexCoord );
	
	float distancia = length(position - LightPosition);	// calculo la distancia entre la luz y el vertice
	float atenuacion = 1.0 / ( 1.0 + 0.1 * distancia + 0.01 * distancia * distancia); // calculo la atenuación por la distancia
	
	vec3 norm = normalize(normal); 						// normalizo la normal
	vec3 norm_pos = normalize(LightPosition); 			// normalizo la direccion de la luz
	
	float cos_diffuse=max(0.0, dot(norm,norm_pos));
	
	vec3 diffuse_light = cos_diffuse * (vec3(1.0f)); 	// No tengo en cuenta al material ni la luz
	
	gl_FragColor  = texColor * vec4((AmbientalLightIntensity + diffuse_light) * atenuacion, 1.0);

}